using Sheep_Breeding.ErrorCode;
using Sheep_Breeding.Write.Api.DTOs;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Sheep_Breeding.Write.Api.OperationServices.IServices
{
    /// <summary>
    /// 羊只死亡记录服务接口
    /// </summary>
    public interface ISheepDeathServices
    {
        /// <summary>
        /// 添加羊只死亡记录
        /// </summary>
        Task<ApiResult> AddSheepDeath(AddSheepDeathDto dto);

        /// <summary>
        /// 删除羊只死亡记录
        /// </summary>
        Task<ApiResult> DeleteSheepDeath(long id);

        /// <summary>
        /// 修改羊只死亡记录
        /// </summary>
        Task<ApiResult> UpdateSheepDeath(UpdateSheepDeathDto dto);

        /// <summary>
        /// 查询所有羊只死亡记录（含栋舍名称）
        /// </summary>
        Task<ApiResult<List<SheepDeathWithHouseDto>>> GetAllSheepDeaths();

        /// <summary>
        /// 按条件查询羊只死亡记录
        /// </summary>
        Task<ApiResult<List<SheepDeathDto>>> SearchSheepDeaths(string earNumber, DateTime? deathDate);
    }
} 